home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 2010 April / PCWorld0410.iso / hity wydania / Ubuntu 9.10 PL / karmelkowy-koliberek-desktop-9.10-i386-PL.iso / casper / filesystem.squashfs / usr / lib / perl5 / Glib / BookmarkFile.pod next >
Text File  |  2009-04-29  |  13KB  |  606 lines

  1. =head1 NAME
  2.  
  3. Glib::BookmarkFile -  Parser for bookmark files
  4.  
  5. =cut
  6.  
  7. =for position SYNOPSIS
  8.  
  9. =head1 SYNOPSIS
  10.  
  11.   use Glib;
  12.  
  13.   $date .= $_ while (<DATA>);
  14.  
  15.   $b = Glib::BookmarkFile->new;
  16.   $b->load_from_data($data);
  17.   $uri = 'file:///some/path/to/a/file.txt';
  18.   if ($b->has_item($uri)) {
  19.       $title = $b->get_title($uri);
  20.     $desc  = $b->get_description($uri);
  21.  
  22.     print "Bookmark for `$uri' ($title):\n";
  23.     print "  $desc\n";
  24.   }
  25.   0;
  26.  
  27.   __DATA__
  28.   <?xml version="1.0" encoding="UTF-8"?>
  29.   <xbel version="1.0"
  30.         xmlns:bookmark="http://www.freedesktop.org/standards/desktop-bookmarks"
  31.         xmlns:mime="http://www.freedesktop.org/standards/shared-mime-info">
  32.     <bookmark href="file:///tmp/test-file.txt" added="2006-03-22T18:54:00Z" modified="2006-03-22T18:54:00Z" visited="2006-03-22T18:54:00Z">
  33.       <title>Test File</title>
  34.       <desc>Some test file</desc>
  35.       <info>
  36.         <metadata owner="http://freedesktop.org">
  37.           <mime:mime-type type="text/plain"/>
  38.           <bookmark:applications>
  39.             <bookmark:application name="Gedit" exec="gedit %u" timestamp="1143053640" count="1"/>
  40.           </bookmark:applications>
  41.         </metadata>
  42.       </info>
  43.     </bookmark>
  44.   </xbel>
  45.  
  46. =for position DESCRIPTION
  47.  
  48. =head1 DESCRIPTION
  49.  
  50. B<Glib::BookmarkFile> lets you parse, edit or create files containing lists
  51. of bookmarks to resources pointed to by URIs, with some meta-data bound to
  52. them, following the Desktop Bookmark Specification.  The recent files support
  53. inside GTK+ uses this type of files to store the list of recently used
  54. files.
  55.  
  56. The syntax of bookmark files is described in detail in the Desktop Bookmarks
  57. Specification, here is a quick summary: bookmark files use a subclass of the
  58. XML Bookmark Exchange Language (XBEL) document format, defining meta-data
  59. such as the MIME type of the resource pointed by a bookmark, the list of
  60. applications that have registered the same URI and the visibility of the
  61. bookmark.
  62.  
  63. =cut
  64.  
  65.  
  66.  
  67. =for object Glib::BookmarkFile Parser for bookmark files
  68. =cut
  69.  
  70.  
  71.  
  72.  
  73. =head1 METHODS
  74.  
  75. =head2 bookmarkfile = Glib::BookmarkFile-E<gt>B<new> 
  76.  
  77. =head2 $bookmark_file-E<gt>B<add_application> ($uri, $name, $exec)
  78.  
  79. =over
  80.  
  81. =item * $uri (string) 
  82.  
  83. =item * $name (string or undef) 
  84.  
  85. =item * $exec (string or undef) 
  86.  
  87. =back
  88.  
  89. Adds the application with $name and $exec to the list of
  90. applications that have registered a bookmark for $uri into
  91. $bookmark_file.
  92.  
  93. Every bookmark inside a C<Glib::BookmarkFile> must have at least an
  94. application registered.  Each application must provide a name, a
  95. command line useful for launching the bookmark, the number of times
  96. the bookmark has been registered by the application and the last
  97. time the application registered this bookmark.
  98.  
  99. If $name is undef, the name of the application will be the
  100. same returned by Glib::get_application_name(); if $exec is undef,
  101. the command line will be a composition of the program name as
  102. returned by Glib::get_prgname() and the "%u" modifier, which will
  103. be expanded to the bookmark's URI.
  104.  
  105. This function will automatically take care of updating the
  106. registrations count and timestamping in case an application
  107. with the same $name had already registered a bookmark for
  108. $uri inside the bookmark file.  If no bookmark for $uri is found
  109. one is created.
  110.  
  111. =head2 $bookmark_file-E<gt>B<add_group> ($uri, $group)
  112.  
  113. =over
  114.  
  115. =item * $uri (string) 
  116.  
  117. =item * $group (string) 
  118.  
  119. =back
  120.  
  121. Adds $group to the list of groups to which the bookmark for $uri
  122. belongs to.  If no bookmark for $uri is found one is created.
  123.  
  124. =head2 unix timestamp = $bookmark_file-E<gt>B<get_added> ($uri)
  125.  
  126. =over
  127.  
  128. =item * $uri (string) 
  129.  
  130. =back
  131.  
  132. =for apidoc __gerror__
  133. Gets the time the bookmark for $uri was added to $bookmark_file.
  134.  
  135. =head2 $bookmark_file-E<gt>B<set_added> ($uri, $value)
  136.  
  137. =over
  138.  
  139. =item * $uri (string) 
  140.  
  141. =item * $value (unix timestamp) 
  142.  
  143. =back
  144.  
  145. Sets the time the bookmark for $uri was added.
  146. If no bookmark for $uri is found one is created.
  147.  
  148. =head2 ($exec, $count, $stamp) = $bookmark_file->B<get_app_info> ($uri, $name)
  149.  
  150. =over
  151.  
  152. =item * $uri (string) 
  153.  
  154. =item * $name (string) 
  155.  
  156. =back
  157.  
  158. Gets the registration informations of $name for the bookmark for
  159. $uri.  See Glib::BookmarkFile::set_app_info() for more informations about
  160. the returned data.
  161.  
  162. May croak with a L<Glib::Error> in $@ on failure.
  163.  
  164. =head2 $bookmark_file-E<gt>B<set_app_info> ($uri, $name, $exec, $count, $stamp)
  165.  
  166. =over
  167.  
  168. =item * $uri (string) 
  169.  
  170. =item * $name (string) 
  171.  
  172. =item * $exec (string) 
  173.  
  174. =item * $count (integer) 
  175.  
  176. =item * $stamp (unix timestamp) 
  177.  
  178. =back
  179.  
  180. Sets the meta-data of application $name inside the list of
  181. applications that have registered a bookmark for $uri inside
  182. $bookmark_file.
  183.  
  184. You should rarely use this method; use Glib::BookmarkFile::add_application()
  185. and Glib::BookmarkFile::remove_application() instead.
  186.  
  187. $name can be any UTF-8 encoded string used to identify an application.
  188. $exec can have one of these two modifiers: "%f", which will be expanded
  189. as the local file name retrieved from the bookmark's URI; "%u", which
  190. will be expanded as the bookmark's URI. The expansion is done automatically
  191. when retrieving the stored command line using the
  192. Glib::BookmarkFile::get_app_info() method.
  193. $count is the number of times the application has registered the
  194. bookmark; if it is < 0, the current registration count will be increased
  195. by one, if it is 0, the application with $name will be removed from
  196. the list of registered applications.
  197. $stamp is the Unix time of the last registration, as returned by time(); if
  198. it is -1, the current time will be used.
  199.  
  200. If you try to remove an application by setting its registration count to
  201. zero, and no bookmark for $uri is found, %FALSE is returned and an
  202. exception is fired.
  203.  
  204. May croak with a L<Glib::Error> in $@ on failure.
  205.  
  206. =head2 list = $bookmark_file->B<get_applications> ($uri)
  207.  
  208. =over
  209.  
  210. =item * $uri (string) 
  211.  
  212. =back
  213.  
  214. Retrieves the names of the applications that have registered the
  215. bookmark for $uri.
  216.  
  217. May croak with a L<Glib::Error> in $@ on failure.
  218.  
  219. =head2 $bookmark_file->B<get_description> ($uri)
  220.  
  221. =over
  222.  
  223. =item * $uri (string) 
  224.  
  225. =back
  226.  
  227. Gets the description of the bookmark for $uri.
  228.  
  229. May croak with a L<Glib::Error> in $@ on failure.
  230.  
  231. =head2 $bookmark_file-E<gt>B<set_description> ($uri, $description)
  232.  
  233. =over
  234.  
  235. =item * $uri (string) 
  236.  
  237. =item * $description (string) 
  238.  
  239. =back
  240.  
  241. Sets the description of the bookmark for $uri.  If no bookmark for $uri
  242. is found one is created.
  243.  
  244. =head2 list = $bookmark_file-E<gt>B<get_groups> ($uri)
  245.  
  246. =over
  247.  
  248. =item * $uri (string) 
  249.  
  250. =back
  251.  
  252. Retrieves the list of group names of the bookmark for $uri.
  253.  
  254. May croak with a L<Glib::Error> in $@ on failure.
  255.  
  256. =head2 $bookmark_file-E<gt>B<set_groups> ($uri, ...)
  257.  
  258. =over
  259.  
  260. =item * $uri (string) 
  261.  
  262. =item * ... (list) one or more group names
  263.  
  264. =back
  265.  
  266. Sets a list of group names for the item with URI $uri.  Each previously
  267. set group name list is removed.  If no bookmark for $uri is found one
  268. is created.
  269.  
  270. =head2 boolean = $bookmark_file-E<gt>B<has_application> ($uri, $name)
  271.  
  272. =over
  273.  
  274. =item * $uri (string) 
  275.  
  276. =item * $name (string) 
  277.  
  278. =back
  279.  
  280. Checks whether the bookmark for $uri inside $bookmark_file has
  281. been registered by application $name.
  282.  
  283. May croak with a L<Glib::Error> in $@ on failure.
  284.  
  285. =head2 boolean = $bookmark_file-E<gt>B<has_group> ($uri, $group)
  286.  
  287. =over
  288.  
  289. =item * $uri (string) 
  290.  
  291. =item * $group (string) 
  292.  
  293. =back
  294.  
  295. Checks whether $group appears in the list of groups to which
  296. the bookmark for $uri belongs to.
  297.  
  298. May croak with a L<Glib::Error> in $@ on failure.
  299.  
  300. =head2 boolean = $bookmark_file-E<gt>B<has_item> ($uri)
  301.  
  302. =over
  303.  
  304. =item * $uri (string) 
  305.  
  306. =back
  307.  
  308. Looks whether the bookmark file has a bookmark for $uri.
  309.  
  310. =head2 ($href, $mime_type) = $bookmark_file->B<get_icon> ($uri)
  311.  
  312. =over
  313.  
  314. =item * $uri (string) 
  315.  
  316. =back
  317.  
  318. Gets the icon of the bookmark for $uri.
  319.  
  320. May croak with a L<Glib::Error> in $@ on failure.
  321.  
  322. =head2 $bookmark_file-E<gt>B<set_icon> ($uri, $href, $mime_type)
  323.  
  324. =over
  325.  
  326. =item * $uri (string) 
  327.  
  328. =item * $href (string or undef) 
  329.  
  330. =item * $mime_type (string or undef) 
  331.  
  332. =back
  333.  
  334. Sets the icon for the bookmark for $uri.  If $href is undef, unsets
  335. the currently set icon.
  336.  
  337. =head2 boolean = $bookmark_file-E<gt>B<get_is_private> ($uri)
  338.  
  339. =over
  340.  
  341. =item * $uri (string) 
  342.  
  343. =back
  344.  
  345.  
  346.  
  347. May croak with a L<Glib::Error> in $@ on failure.
  348.  
  349. =head2 $bookmark_file-E<gt>B<set_is_private> ($uri, $is_private)
  350.  
  351. =over
  352.  
  353. =item * $uri (string) 
  354.  
  355. =item * $is_private (boolean) 
  356.  
  357. =back
  358.  
  359.  
  360.  
  361. =head2 $bookmark_file-E<gt>B<load_from_data> ($buf)
  362.  
  363. =over
  364.  
  365. =item * $buf (scalar) 
  366.  
  367. =back
  368.  
  369. Parses a string containing a bookmark file structure.
  370.  
  371. May croak with a L<Glib::Error> in $@ on failure.
  372.  
  373. =head2 ($full_path) = $bookmark_file->B<load_from_data_dirs> ($file)
  374.  
  375. =over
  376.  
  377. =item * $file (localized file name) 
  378.  
  379. =back
  380.  
  381.  
  382. Parses a bookmark file, searching for it inside the data directories.
  383. If a file is found, it returns the full path.
  384.  
  385. May croak with a L<Glib::Error> in $@ on failure.
  386.  
  387. =head2 $bookmark_file-E<gt>B<load_from_file> ($file)
  388.  
  389. =over
  390.  
  391. =item * $file (localized file name) 
  392.  
  393. =back
  394.  
  395. Parses a bookmark file.
  396.  
  397. May croak with a L<Glib::Error> in $@ on failure.
  398.  
  399. =head2 string = $bookmark_file-E<gt>B<get_mime_type> ($uri)
  400.  
  401. =over
  402.  
  403. =item * $uri (string) 
  404.  
  405. =back
  406.  
  407. Gets the MIME type of the bookmark for $uri.
  408.  
  409. May croak with a L<Glib::Error> in $@ on failure.
  410.  
  411. =head2 $bookmark_file-E<gt>B<set_mime_type> ($uri, $mime_type)
  412.  
  413. =over
  414.  
  415. =item * $uri (string) 
  416.  
  417. =item * $mime_type (string) 
  418.  
  419. =back
  420.  
  421. Sets the MIME type of the bookmark for $uri.  If no bookmark for $uri
  422. is found one is created.
  423.  
  424. =head2 unix timestamp = $bookmark_file-E<gt>B<get_modified> ($uri)
  425.  
  426. =over
  427.  
  428. =item * $uri (string) 
  429.  
  430. =back
  431.  
  432. =for apidoc __gerror__
  433. Gets the time the bookmark for $uri was last modified.
  434.  
  435. =head2 $bookmark_file-E<gt>B<set_modified> ($uri, $value)
  436.  
  437. =over
  438.  
  439. =item * $uri (string) 
  440.  
  441. =item * $value (unix timestamp) 
  442.  
  443. =back
  444.  
  445. Sets the time the bookmark for $uri was last modified.
  446. If no bookmark for $uri is found one is created.
  447.  
  448. =head2 $bookmark_file-E<gt>B<move_item> ($old_uri, $new_uri)
  449.  
  450. =over
  451.  
  452. =item * $old_uri (string) 
  453.  
  454. =item * $new_uri (string or undef) 
  455.  
  456. =back
  457.  
  458. Changes the URI of a bookmark item from $old_uri to $new_uri.  Any
  459. existing bookmark for $new_uri will be overwritten.  If $new_uri is
  460. undef, then the bookmark is removed.
  461.  
  462. May croak with a L<Glib::Error> in $@ on failure.
  463.  
  464. =head2 $bookmark_file-E<gt>B<remove_application> ($uri, $name)
  465.  
  466. =over
  467.  
  468. =item * $uri (string) 
  469.  
  470. =item * $name (string) 
  471.  
  472. =back
  473.  
  474. Removes application registered with $name from the list of applications
  475. that have registered a bookmark for $uri inside $bookmark_file.
  476.  
  477. May croak with a L<Glib::Error> in $@ on failure.
  478.  
  479. =head2 $bookmark_file-E<gt>B<remove_group> ($uri, $group)
  480.  
  481. =over
  482.  
  483. =item * $uri (string) 
  484.  
  485. =item * $group (string) 
  486.  
  487. =back
  488.  
  489. Removes $group from the list of groups to which the bookmark
  490. for $uri belongs to.
  491.  
  492. May croak with a L<Glib::Error> in $@ on failure.
  493.  
  494. =head2 $bookmark_file-E<gt>B<remove_item> ($uri)
  495.  
  496. =over
  497.  
  498. =item * $uri (string) 
  499.  
  500. =back
  501.  
  502. Removes the bookmark for $uri from the bookmark file.
  503.  
  504. May croak with a L<Glib::Error> in $@ on failure.
  505.  
  506. =head2 integer = $bookmark_file-E<gt>B<get_size> 
  507.  
  508. Gets the number of bookmarks inside the bookmark file.
  509.  
  510. =head2 $bookmark_file->B<get_title> ($uri, $title)
  511.  
  512. =over
  513.  
  514. =item * $uri (string) 
  515.  
  516. =back
  517.  
  518. Gets the title of the bookmark for $uri.
  519.  
  520. May croak with a L<Glib::Error> in $@ on failure.
  521.  
  522. =head2 $bookmark_file-E<gt>B<set_title> ($uri, $title)
  523.  
  524. =over
  525.  
  526. =item * $uri (string) 
  527.  
  528. =item * $title (string) 
  529.  
  530. =back
  531.  
  532. Sets the title of the bookmark for $uri.  If no bookmark for $uri is found
  533. one is created.
  534.  
  535. =head2 string = $bookmark_file-E<gt>B<to_data> 
  536.  
  537. Returns the bookmark file as a string.
  538.  
  539. May croak with a L<Glib::Error> in $@ on failure.
  540.  
  541. =head2 $bookmark_file-E<gt>B<to_file> ($file)
  542.  
  543. =over
  544.  
  545. =item * $file (localized file name) 
  546.  
  547. =back
  548.  
  549. Saves the contents of a bookmark file into a file.  The write operation
  550. is guaranteed to be atomical by writing the contents of the bookmark file
  551. to a temporary file and then moving the file to the target file.
  552.  
  553. May croak with a L<Glib::Error> in $@ on failure.
  554.  
  555. =head2 list = $bookmark_file->B<get_uris>
  556.  
  557. Returns the URI of all the bookmarks in the bookmark file.
  558.  
  559. =head2 unix timestamp = $bookmark_file-E<gt>B<get_visited> ($uri)
  560.  
  561. =over
  562.  
  563. =item * $uri (string) 
  564.  
  565. =back
  566.  
  567. =for apidoc __gerror__
  568. Gets the time the bookmark for $uri was last visited.
  569.  
  570. =head2 $bookmark_file-E<gt>B<set_visited> ($uri, $value)
  571.  
  572. =over
  573.  
  574. =item * $uri (string) 
  575.  
  576. =item * $value (unix timestamp) 
  577.  
  578. =back
  579.  
  580. Sets the time the bookmark for $uri was last visited.
  581. If no bookmark for $uri is found one is created.
  582.  
  583.  
  584.  
  585. =cut
  586.  
  587.  
  588. =head1 SEE ALSO
  589.  
  590. L<Glib>
  591.  
  592.  
  593. =cut
  594.  
  595.  
  596. =head1 COPYRIGHT
  597.  
  598. Copyright (C) 2003-2009 by the gtk2-perl team.
  599.  
  600. This software is licensed under the LGPL.  See L<Glib> for a full notice.
  601.  
  602.  
  603.  
  604. =cut
  605.  
  606.